/*
 * <p>Copyright ®Alyce_WX版权所有。</p>
 * 类名:ViewDictTypeDaoImpl
 * 创建人:alyce_wx
 * 创建时间:2017-03-30
 */
package com.wx.demo.wcd.infrastructure.dao.impl;

import java.util.Map;

import javax.annotation.Resource;

import org.mybatis.spring.SqlSessionTemplate;
import org.springframework.stereotype.Repository;

import com.wx.demo.wcd.domain.pk.ViewDictTypePK;
import com.wx.demo.wcd.domain.po.ViewDictTypePO;
import com.wx.demo.wcd.domain.qo.ViewDictTypeQO;
import com.wx.demo.wcd.infrastructure.dao.ViewDictTypeDao;
import com.yjhl.framework.dao.AbstractDao;

/**
 * dao implement class for ViewDictType view
 *
 * @author alyce_wx
 * @see com.yjhl.framework.dao.AbstractDao
 * @see com.wx.demo.wcd.infrastructure.dao.ViewDictTypeDao;
 * @since 1.8
 * @version 1.0.0
 */

@Repository("viewDictTypeDao")
public class ViewDictTypeDaoImpl extends
		AbstractDao<ViewDictTypePO, ViewDictTypeQO, ViewDictTypePK> implements
		ViewDictTypeDao {
	/**
	 * spring SQL session
	 */
	@Resource
	private SqlSessionTemplate wcdSqlSessionTemplate;

	/**
	 * Get SQL session。 Get SQL session since spring auto wired.
	 *
	 * @return SQL session
	 * @see com.yjhl.framework.dao.AbstractDAO#getSqlSessionTemplate()
	 * @since 1.8
	 * @version 1.0.0
	 */
	@Override
	protected SqlSessionTemplate getSqlSessionTemplate() {
		return wcdSqlSessionTemplate;
	}

	/**
	 * 获取mybatis的命名空间。
	 *
	 * @return MyBatis的命名空间.
	 * @see com.yjhl.framework.dao.AbstractDAO#getNamespace()
	 * @since 1.8
	 * @version 1.0.0
	 */
	@Override
	protected String getNamespace() {
		return "wcdviewDictTypeDAO";
	}

	/**
	 * 获取不带"-"的UUID。
	 *
	 * @return 不带"-"的UUID.
	 * @see com.yjhl.framework.dao.AbstractDao#getSequence()
	 * @since 1.8
	 * @version 1.0.0
	 */
	@Override
	public String getSequence() {
		return null;

	}

	/**
	 * insert a ViewDictTypePO
	 *
	 * @param entity
	 *            ViewDictTypePO
	 * @return insert rows
	 * @see com.yjhl.framework.dao.AbstractDAO#insert(ViewDictTypePO)
	 * @since 1.8
	 * @version 1.0.0
	 */
	@Override
	public int insert(ViewDictTypePO entity) {
		throw new java.lang.IllegalArgumentException(
				"insert method not support for view object now!");
	}

	/**
	 * @see com.yjhl.framework.dao.AbstractDAO#updateByPk(ViewDictTypePO)
	 */
	@Override
	public int updateByPk(ViewDictTypePO entitywithpk) {
		throw new java.lang.IllegalArgumentException(
				"updateByPk method not support for view object now!");
	}

	/**
	 * @see com.yjhl.framework.dao.AbstractDAO#updateByPkWithBlobs(ViewDictTypePO)
	 */
	@Override
	public int updateByPkWithBlobs(ViewDictTypePO entitywithpk) {
		throw new java.lang.IllegalArgumentException(
				"updateByPkWithBlobs method not support for view object now!");
	}

	/**
	 * @see com.yjhl.framework.dao.AbstractDAO#update(ViewDictTypePO,
	 *      ViewDictTypeQO)
	 */
	@Override
	public int update(ViewDictTypePO entity, ViewDictTypeQO condition) {
		throw new java.lang.IllegalArgumentException(
				"update method not support for view object now!");
	}

	/**
	 * @see com.yjhl.framework.dao.AbstractDAO#updateByPkSelective(ViewDictTypePO)
	 */
	@Override
	public int updateByPkSelective(ViewDictTypePO entitywithpk) {
		throw new java.lang.IllegalArgumentException(
				"updateByPkSelective method not support for view object now!");
	}

	/**
	 * @see com.yjhl.framework.dao.AbstractDAO#updateByPkSelectiveWithBlobs(ViewDictTypePO)
	 */
	@Override
	public int updateByPkSelectiveWithBlobs(ViewDictTypePO entitywithpk) {
		throw new java.lang.IllegalArgumentException(
				"updateByPkSelectiveWithBlobs method not support for view object now!");
	}

	/**
	 * @see com.yjhl.framework.dao.AbstractDAO#updateSelective(ViewDictTypePO,
	 *      ViewDictTypeQO)
	 */
	@Override
	public int updateSelective(ViewDictTypePO entity, ViewDictTypeQO condition) {
		throw new java.lang.IllegalArgumentException(
				"updateSelective method not support for view object now!");
	}

	/**
	 * @see com.yjhl.framework.dao.AbstractDAO#updateMapByPk(Map,
	 *      ViewDictTypePK)
	 */
	@Override
	public int updateMapByPk(Map<String, Object> entity, ViewDictTypePK entitypk) {
		throw new java.lang.IllegalArgumentException(
				"update method not support for view object now!");
	}

	/**
	 * @see com.yjhl.framework.dao.AbstractDAO#updateMap(Map, ViewDictTypeQO)
	 */
	@Override
	public int updateMap(Map<String, Object> entity, ViewDictTypeQO condition) {
		throw new java.lang.IllegalArgumentException(
				"update method not support for view object now!");
	}

	/**
	 * @see com.yjhl.framework.dao.AbstractDAO#deleteByPk(ViewDictTypePK)
	 */
	@Override
	public int deleteByPk(ViewDictTypePK entitypk) {
		throw new java.lang.IllegalArgumentException(
				"deleteByPk method not support for view object now!");
	}

	/**
	 * @see com.yjhl.framework.dao.AbstractDAO#delete(ViewDictTypeQO)
	 */
	@Override
	public int delete(ViewDictTypeQO condition) {
		throw new java.lang.IllegalArgumentException(
				"delete method not support for view object now!");
	}

	/**
	 * @see ViewDictTypeDao#getByPk(String)
	 */
	public ViewDictTypePO getByPk(String dictId) {
		ViewDictTypePK entityPK = new ViewDictTypePK(dictId);

		return super.getByPk(entityPK);
	}

}
